//设置cookie
var setCookie = function (name, value, day) {
    var date = new Date();
    date.setDate(date.getDate() + day);
    document.cookie = name + '=' + encodeURIComponent(value) + ';expires=' + date;
};

//获取cookie
var getCookie = function (name) {
    var reg = RegExp(name + '=([^;]+)');
    var arr = document.cookie.match(reg);
    if (arr) {
        return decodeURIComponent(arr[1]);
    } else {
        return '';
    }
};

//删除cookie
var delCookie = function (name) {
    setCookie(name, null, -1);
};

/**
 * ajax请求
 * @param url
 * @param data
 * @param request_type
 * @param successCallBack
 * @param errorCallBack
 */
function httpRequest(url, data, request_type, successCallBack, errorCallBack) {
    $.ajax({
        url: url,
        data: data,
        type: request_type,
        dataType: "json",
        timeout: 120000,
        beforeSend: (res)=>{
            indexload = layer.load(3, {
                shade: [0.1,'#fff'] // 0.1透明度的白色背景
            });
        },
        complete: (res)=>{
            layer.close(indexload);
        },
        success: function(data){
            if(data.code > 0) {
                successCallBack(data.info, data.data);
            } else {
                if(isNotEmpty(errorCallBack)) {
                    errorCallBack(data.info, data.data, data.code);
                } else {
                    layer.msg(data.info, {icon: 2, shade: this.shade, scrollbar: false});
                }
            }
        },
        error: function(err){
            layer.msg(err.status + err.statusText);
        }
    });
}

/**
 * 判断对象是否为空
 * @param obj
 * @returns {boolean}
 */
function isNotEmpty (obj) {
    // 防止 传空参数
    if (obj === 'undefined') {
        return false;
    }
    let objType = typeof obj;
    if (objType === 'undefined') {
        return false;
    } else if(objType === 'string'){
        if(trim(obj).toString() == ''){
            return false;
        }
    } else if(objType === 'object'){
        if(obj instanceof HTMLElement){
            // 判断是否是DOM对象
            return true;
        } else if (obj == null || JSON.stringify(obj) == '[]' || JSON.stringify(obj) == '{}') {
            return false;
        }
    }else if(objType === 'boolean'){
        // 这里只判断是否为空所以 不管真和假都是算有值
        return true;
    }else if(objType === 'number'){
        // 这里只判断是否有值 只要树是数值 都是有值
        return true;
    }
    return true;
}

/**
 * 去除空字符串
 * @param str
 * @returns {string}
 */
function trim(str) {
    return (str + '').replace(/(\s+)$/g, '').replace(/^\s+/g, '');
}